'use strict';

const Service = require('egg').Service;
const svgCaptcha = require('svg-captcha');
// 验证码配置信息
const options = {
  size: 5,                 // 验证码长度(显示几个字符)
  fontSize: 100,           // 验证码的字体大小
  width: 500,              // 验证码的宽度
  height: 200,             // 验证码的高度
  background: '#cc9966',   // 验证码的背景颜色
};

class VerifyToolsService extends Service {
  async captcha() {
    // 第三方插件，实现验证码功能
    const captcha = svgCaptcha.create(options);
    // 将验证码text文本保存到全局session中， 观察者/发布者订阅模式
    this.ctx.session.code = captcha.text;
    return captcha;
  }
}

module.exports = VerifyToolsService;
